#ifndef mesinkata_h
#define mesinkata_h

#include <stdio.h>
#include <stdlib.h>
#include "mesinkar.h"
#include "boolean.h"

#define BLANK ' '
// blank / spasi
#define NEWLINE '\n'
// karakter newline
#define MaxStringLength 255
// panjang string maksimum

typedef struct {
	char s[MaxStringLength+1];
	int length;
} string;
// tipe data string
// length panjang string 

extern string cString;
// Current string, string yang saat ini sedang diakuisisi

extern boolean end;
// Menandai apakah sudah end of pita kata / CC = MARK

//--------------
//  SELEKTOR
//--------------
// Length(S) : (S).Length 


//--------------
//  PRIMITIF
//--------------

void Ignore_Blank(FILE *f);
/* Mengabaikan blank pada pita karakter dari File jika F terdefinisi, 
jika tidak dari std_input */

void StartString(FILE *f);
/* Menginisiasi pembacaan pita karakter dari File jika F terdefinisi, 
jika tidak dari std_input */

void AdvString(FILE *f);
/* Mengakuisisi 1 kata menjadi 1 string dari File jika F terdefinisi, 
jika tidak dari std_input */

#endif
